A cloud platform (i.e., a computing platform for cloud computing) may be employed by many users to store, manage, and process data using a shared network of remote servers. Users may develop applications on the cloud platform to handle the storage, management, and processing of data. In some cases, the cloud platform may utilize a multi-tenant database system. Users may access the cloud platform using various user devices (e.g., desktop computers, laptops, smartphones, tablets, or other computing systems, etc.).
In one example, the cloud platform may support customer relationship management (CRM) solutions. This may include support for sales, service, marketing, community, analytics, applications, and the Internet of Things. A user may utilize the cloud platform to help manage contacts of the user. For example, managing contacts of the user may include analyzing data, storing and preparing communications, and tracking opportunities and sales.
In some cases, the cloud platform may employ machine learning to enhance predictive analytics for a user. The machine learning may include gathering data, preparing data, feature engineering, model training, and scoring steps, which may further include running complex data process workflows and jobs to accomplish such steps. For a single, multi-tenant application (e.g., a single user with a multi-tenant system), a data process workflow and job may be created, modified, and executed for each tenant based on a configuration for the corresponding tenant. However, in the case of multiple multi-tenant applications (e.g., multiple users with multi-tenant systems), the cloud platform may manage independent sets of data process workflows and jobs for each tenant and application combination, which may increase the complexity of the machine learning and data processing. Techniques are desired for efficiently handling data process workflows and jobs for a multiple user multi-tenant cloud platform.